package Gather.MapExercise.MapDome;

import java.util.HashMap;
import java.util.Map;

/**
 * ClassName:ListText002
 * Package:Gather.MapExercise.ListDome002
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/20-15:53
 * @Version:v1.0
 */
public class MapText002 {
    /* Map是双列集合的顶层接口,它的功能是双列集合都可以继承使用的
     * V put(K key , V value)  添加元素
     * V remove(Object key)  根据键删除键值元素
     * void clear() 移除所有的键值对元素
     * boolean containsKey(Object key) 判断集合是否包含指定的键
     * boolean containsValue(object value) 判断集合是否包含指定的值
     * boolean isEmpty()  判断集合是否为空
     * int size() 集合的长度,也就是集合中的键值对的个数*/
    public static void main(String[] args) {
        //创建Map集合的对象
        Map<String, String> map = new HashMap<>();
        //V put(K key , V value)  添加元素
        /*
         * put方法的细节
         * 1.添加
         * 2.覆盖
         * 再添加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中
         * 再添加数据的时候,如果键是存在的,那么会把原有的键值对对象覆盖,会把被覆盖的值进行返回*/
        map.put("郭靖", "黄蓉");
//        System.out.println(value1);
        map.put("杨过", "小龙女");
        map.put("韦小宝", "沐剑屏");
//        String value2 = map.put("韦小宝", "双儿");
//        System.out.println(value2);
        //打印集合
        System.out.println(map);

        //V remove(Object key)  根据键删除键值元素
//        String result = map.remove("郭靖");
//        System.out.println(result);//黄蓉

        //void clear() 移除所有的键值对元素
        //清空
//        map.clear();
//        System.out.println(map);

        //boolean containsKey(Object key) 判断集合是否包含指定的键
        boolean keyResult1 = map.containsKey("郭靖");
        System.out.println(keyResult1);
        boolean keyResult2 = map.containsKey("郭靖2");
        System.out.println(keyResult2);


        //boolean containsValue(object value) 判断集合是否包含指定的值
        boolean valueResult = map.containsValue("小龙女");
        System.out.println(valueResult);


        //boolean isEmpty()  判断集合是否为空
//        boolean result1 = map.isEmpty();
//        System.out.println(result1);//false
//        map.clear();
//        boolean result2 = map.isEmpty();
//        System.out.println(result2);//true

        //int size() 集合的长度,也就是集合中的键值对的个数
        int size = map.size();
        System.out.println(size);

    }
}
